package co.edu.usbcali.prototipobeta.modelo.dto;

import co.edu.usbcali.prototipobeta.modelo.DetalleEvento;
import co.edu.usbcali.prototipobeta.presentation.backingBeans.DetalleEventoView;

import java.io.Serializable;

import java.util.Date;

import javax.faces.event.ActionEvent;


/**
*
*
* @author Zathura Code Generator http://code.google.com/p/zathura
*
*/
public class DetalleEventoDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    private String deEveDescripcion;
    private String eveId_Evento;
    private String detEveId;
    private Date detEveFecha;
    private boolean rowSelected = false;
    private DetalleEventoView detalleEventoView;
    private DetalleEvento detalleEvento;

    public DetalleEvento getDetalleEvento() {
        return detalleEvento;
    }

    public String listener_update(ActionEvent e) {
        try {
            detalleEventoView.action_modifyWitDTO(((deEveDescripcion == null) ||
                deEveDescripcion.equals("")) ? null : new String(
                    deEveDescripcion),
                ((detEveFecha == null) || detEveFecha.equals("")) ? null
                                                                  : detEveFecha,
                ((detEveId == null) || detEveId.equals("")) ? null
                                                            : new Long(detEveId),
                ((eveId_Evento == null) || eveId_Evento.equals("")) ? null
                                                                    : new Long(
                    eveId_Evento));
            rowSelected = !rowSelected;
        } catch (Exception ex) {
            return "";
        }

        return "";
    }

    public void listener_cancel(ActionEvent e) {
        detEveId = detalleEvento.getDetEveId().toString();
        deEveDescripcion = (detalleEvento.getDeEveDescripcion() != null)
            ? detalleEvento.getDeEveDescripcion().toString() : null;
        detEveFecha = detalleEvento.getDetEveFecha();
        eveId_Evento = (detalleEvento.getEvento().getEveId() != null)
            ? detalleEvento.getEvento().getEveId().toString() : null;
        rowSelected = !rowSelected;
    }

    /**
    * <p>Bound to commandLink actionListener in the ui that renders/unrenders
        * the Object details for editing.</p>
        */
    public void toggleSelected(ActionEvent e) {
        detEveId = detalleEvento.getDetEveId().toString();
        deEveDescripcion = (detalleEvento.getDeEveDescripcion() != null)
            ? detalleEvento.getDeEveDescripcion().toString() : null;
        detEveFecha = detalleEvento.getDetEveFecha();
        eveId_Evento = (detalleEvento.getEvento().getEveId() != null)
            ? detalleEvento.getEvento().getEveId().toString() : null;
        rowSelected = !rowSelected;
    }

    public void setDetalleEvento(DetalleEvento detalleEvento) {
        this.detalleEvento = detalleEvento;
    }

    public DetalleEventoView getDetalleEventoView() {
        return detalleEventoView;
    }

    public void setDetalleEventoView(DetalleEventoView detalleEventoView) {
        this.detalleEventoView = detalleEventoView;
    }

    public String getDeEveDescripcion() {
        return deEveDescripcion;
    }

    public void setDeEveDescripcion(String deEveDescripcion) {
        this.deEveDescripcion = deEveDescripcion;
    }

    public String getEveId_Evento() {
        return eveId_Evento;
    }

    public void setEveId_Evento(String eveId_Evento) {
        this.eveId_Evento = eveId_Evento;
    }

    public Date getDetEveFecha() {
        return detEveFecha;
    }

    public void setDetEveFecha(Date detEveFecha) {
        this.detEveFecha = detEveFecha;
    }

    public String getDetEveId() {
        return detEveId;
    }

    public void setDetEveId(String detEveId) {
        this.detEveId = detEveId;
    }

    public boolean isRowSelected() {
        return rowSelected;
    }

    public void setRowSelected(boolean rowSelected) {
        this.rowSelected = rowSelected;
    }
}
